package com.shop.shoppojo.vo;

import cn.hutool.core.date.DateTime;
import com.shop.shopcommon.enumeration.DeliveryType;
import com.shop.shopcommon.enumeration.OrderStatusType;
import com.shop.shopcommon.enumeration.PayStatusType;
import com.shop.shopcommon.enumeration.PayModeType;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;


/**
 * 订单数据VO
 */

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class OrderDataVO implements Serializable {
    // 序列化版本号
    @Serial
    private static final long serialVersionUID = 1L;

    // 主键ID(数据类型转换)
    private String id;

    //订单号
    private String orderNo;

    //购买路径
    private PayModeType mode;

    //商品id
    private Long goodsId;

    //商品数量
    private Integer goodsNum;

    //订单总价
    private BigDecimal orderPrice;

    //支付状态
    private PayStatusType payStatus;

    //支付时间
    private LocalDateTime payTime;

    //运输方式
    private DeliveryType deliveryType;

    //订单状态
    private OrderStatusType orderStatus;

    //用户id
    private Long userId;

    //创建时间
    private LocalDateTime createTime;

    //顾客留言
    private String buyerRemark;

    //取消时间
    private LocalDateTime cancelTime;

    //商品
    private List<OrderGoodsVO> goods;

    // 运送状态
    private String stateText;
}
